23

» WarCraft 3 / Warlords Mod

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Подозрение в нарушении правил сайта. Требуется валидация человеком.
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Suspicion of violating site rules. Human validation required.
// CID0
23

» WarCraft 3 / Как отследить удар из невидимости?

Похожие вопросы:

ответ
Рассмотрим на примере модельки простого огра, у него есть анимация атаки slam и удар дубиной по земле
  1. Старт атаки
  2. Создаём упреждающий в области впереди героя (маркер, ну эффект ауры например), чтобы игрокам было понятно что скоро тут что-то произойдёт
  3. Проигрываем анимацию "attack slam" или нужную другую, для замаха дубиной, если надо больше и не хватает стандартной скосроти, замедляем скорость анимации
  4. Визуально подгадываем или упытным путём определяем время касания дубиной полна от 1 до 4 сек, на ваше усмотрение
  5. Запускаем новый разовый таймер с нужным периодом, и как таймер сработает, создаём спец эффект, и наносим урон юнитам в области эффекта
(это самый простейший способ, хоть на гуи можно сделать)
ответ
По детекту урона, без мемхака - просто по урону от юнита, при этом создавать триггер детекта при замахе из инвиза, но такое себе.
Так же с помощью мемхака, там изи, т.к у виндвалка есть свой флаг, на который можно проверить отслеживая урон.

23

» WarCraft 3 / Отслеживающийся

Похожие вопросы:

ответ
Есть такое событие, герой воскрес.
ответ
Проблема решена.
У объекта(магазина) не было способности "Лавка: купить предмет" и "Выбор героя".

23

» WarCraft 3 / бесконечная молния

Похожие вопросы:

ответ
Ничего нельзя, сфера не предназначена для чаннелинг абилок, делайте полностью триггерный вариант.

23

» WarCraft 3 / Отслеживание юнитов

Похожие вопросы:

ответ
Глянь тут: xgm.guru/p/100/182139
ответ
Событие - юнит атакован и есть начало замаха, только начала замаха будет отслеживаться у АТАКУЮЩЕГО юнита
ответ
rsfghd:
СерафимКречет, берёшь всех живых юнитов в группу и сравниваешь количество
Bcе, забей, решение нашел сам. Создал переменную цельночисленую, куда отдельным триггером добавляется +1 за появление вражеского юнита и -1 за гибель, тоже отдельным. По итогу, выполняется действие ифэлс, где при гибели вражеского юнита проверяется переменная, и если она равна нулю, то выполняется нужное действие, а если нет, то не выполняется.
ответ
Вопрос закрыт, нашел решение: проверять координаты работника в соответствии с картой путей здания.
ответ
1)орб
2)перевести все скилы в триггерный урон(не от триггера будет считатся атакой)
  1. мемхак или ujapi

23

» WarCraft 3 / WinMPQ

Похожие вопросы:

ответ
Лич по тихому сидел правило баги, 1 карту запустил а вторую правил....
ответ
Меняешь расширение с .w3n на .mpq (хоть простым переименованием) и открываешь архив любым MPQ-едитором (лично я пользовался этим xgm.guru/p/wc3/ladiks-mpq). После экспортируешь оттуда нужную тебе карту.
ответ
Black Soul:
AdmPraudmur, прикрепил к сообщению.
ответ
ответ
Desgul, хоть бы написал как ты её достал, а то чел так и не понял как это делать)
У меня нет винмпк, не хочет устанавливаться, поэтому покажу на примере мпк мастера

23

» WarCraft 3 / Иногда не создаются TextTag

Похожие вопросы:

ответ
но когда срабатывает одновременно в некоторых случаях текст остается, в чем причина не знаю
причина в бж функциях
избавься от бж и всё норм будет

23

» WarCraft 3 / Сломать карту

Похожие вопросы:

ответ
Adantarn, запускай редактор в совместимости с Windows 7. Ещё перезагрузи компьютер (именно перезагрузи, а не выключи и включи).
Также дело может быть в настройках графики. Выкрути их в игре на максимум или в редакторе, убрал галку "Использовать настройки игры" и поставив свою конфигурацию.
Если всё это не поможет, то удаляй всех юнитов и расставляй их уже на новом компьютере.
ответ
JNGP вроде по умолчанию делает бекапы... Если они еще не затерлись - доставайте последний рабочий бекап и продолжайте делать что делали. Желательно делая ручные бекапы на ключевых этапах разработки потому как автоматические не всегда спасают.
ответ
Решено. Удивительно, но карта открывается в новой версии редактора на патче 1.31. Сохранил в новом патче, воспользовался конвертером и все работает... Странно. Могу ли я что-то сломать таким способом?

Bergi_Bear, смогу))

Проблема и правда была в каменных подьемах, которые я пытался заменить. После их удаления на новом патче и конвертирование в 1.26 - все работает. Можно ли как-то удалять декорацию не открывая карту.

Проблема была в том, что каменному подъему был задан нестандартный цвет на миникарте.
ответ

23

» WarCraft 3 / Будущая точка

Похожие вопросы:

ответ
Да. Вызвать новые функции можно. Вот здесь подробнее, как это сделать, на примере задачи по установке preview:
ответ
Ну так нужно вручать юниту пустышку с прикрепленным спецэффектом, к примеру абилку предмета - кольцо защиты +1, бонус защиты на 0 ставим и в настройках способности выбираем нужный спецэффект и точку крепления. Вручаем и удаляем эту абилку юниту, делаем абилку перманентной функцией UnitMakeAbilityPermanent (или как то так).
ответ
Ps.: Может это ↴
C:\Users\Имя Пользователя\Documents\Warcraft III\WorldEditPreferences.txt
ответ
Вам нужно сменить анимацию запуска снаряда? Мне кажется, что это могут делать большинство способностей, вот тебе пустышки, которые ничего не делают
Нужно правильно настраивать. Задать модель, скорость снаряда, если не ошибаюсь. И че то еще. Ну ладно.
Грозовая атака 'Alit' - эта визуальная способность. При атаке на цель пускает молнию. Также у цели появляются спецэффекты (их можно нацепить). Если поставить длительность графики и задержку графики на ноль, то молния исчезнет. Вместо нее можно использования поле "Графика - Анимация дистанционной атаки" - вставляете анимацию снаряда, редактируете скорость и прочее (но и у юнита нужно убрать анимацию дистанционной атаки). Запускается при атаке определенных целей (указывается в абилке). Еще можно молнию задавать (чтобы молнию пускала) - "Графика - Эффекты молнии"
Едкое дыхание 'Acor' - эту пассивную способность можно отнести к визуальной пустышке. В описании написано, что "Сгусток едкого вещества, разрушающее постепенно здание". В характеристике действительно указано поле "урона в секунду" с длительностью 5 секунд. Бафф никакой не указан в абилке, но он есть в разделе заклинаний (баффов). При нанесений урона по зданий не наблюдается никакого едкого вещества, ни ежесекудного урона. Технологию изучал - тоже ничего. Одна хороша фишка - заменяет анимацию снаряда атаки на указанную в абилке анимацию снаряда.
ПРИМЕЧАНИЕ: заметил, что анимацию снаряда может не только выше перечисленные, но и все-все-все пассивные и активные. Все что нужно это задать в "Графика - Анимация дистанционной атаки" модель. И у вас меняется атака снаряда. Например, с шансом запускаешь огонь или прочее. Возможно здесь применимы даже и пустышки. Еще можно задать анимацию юнита (вмахи руками, удар мечом и др)

23

» WarCraft 3 / Дамми

Похожие вопросы:

ответ
Перед тем как наносить урон у тебя должна стоять проверка каждого из юнитов.
Там будет стандартная проверка на то является ли юнит врагом, живым, и... Вот тут надо добавить условие на то что юнит НЕ находится в группе (переменная).
И когда будешь наносить урон - добавляй этого юнита в свою группу (таким образом он больше не будет попадать в неё повторно).
Так же в конце действия скилла, в тот момент когда дамми умирает/удаляется, нужно очистить и/или удалить группу.
А еще - обычно частота движение в 0.01 сек не является необходимой, и её можно уменьшить до 0.03 хотя бы.
ответ
Но конкретно тут, я вижу, что одному юниту мгновенно отдаются приказы кинуть молотки по всем юнитам в области.
Он не кидает молоток мгновенно, пока повернется, пока покурит, пока кастанет, конечно он ничего не успевает.
Для нанесения урона и стана можно использовать варстомп, его нужно кастануть ровно единожды.
Если хочется можно наносить урон триггерно а стомпом только станить.
ответ
rsfghd:
Гуванч
утечек это не вызовет

не?
ответ
Ну вообще да, на счёт ауры замедления ты прав. Самое простое в твоём случае это просто юнит с аурой в центре области, на которую применяется "Огненный Столб". Если конечно щамедление должно быть привязано именно к этой области (там где будет урон), а не к самим юнитам, по которым этот урон пройдёт.
Не зависимо от того каким именно образом применяется способнлсть, на область или в указанную точку, ты всегда можешь ссылаться на "ability being cast point" (или что-то типа того, переводится как "точка пнименения способности"), которая выдаст тебе точку применения заклинания, либо центр области применения "Огненного столба" (т.к. технически это одно и тоже, только область каста это когда к точке каста прерисовывается радиус воздействия).
Вот и отлавливаешь событие "юнит приводит способность в действие", проверяешь усвловием какую именно, и после этого создаёшь юнита в позиции куда был применён спелл.
В идеале ещё бы точку это зачистить, а для этого сначала надо её отдельно создать используя переменную, потом сослаться на неё, и в конце удалить.
ответ
LastUchiha, добавить доп эффекты совсем не проблема для этой системы:
Я сделал кастом скриптом для того чтобы сразу удалять эффект после воспроизведения. Так-же можно в РО в канале эффекты добавить/менять, как уже работает на примере. Карту прикрепил.

23

» WarCraft 3 / jass

Похожие вопросы:

ответ
Неужели создание и удаление одного хэндла вызывает так много нагрузки?
Начни двигать снаряды и внезапно окажется, что хэндл не один, а 60 в секунду. И это только на один снаряд.
ответ
human1, читаем внимательно описание.

23

» WarCraft 3 / Скорость бега

Похожие вопросы:

ответ
ответ
Можно через редактор объектов, не изменяя модель. Найди строчки "Графика - Анимация: скорость ходьбы" и "Графика - Анимация: скорость бега" и измени значения, как тебе нужно (уменьшение - ускоряет анимацию, увеличение - замедляет анимацию).
ответ
написать систему скорости движения юнитов
ответ
Отравленное оружие 'Aven'/'ACvs'/Яд 'Aspo' - Buff Placer, позволяющая замедлять противника при атаке, и наносить ему урон каждую секунду. При атаке накидывает на противника дебафф (яд). Этот дебафф остается на противнике несколько секунд, повторная атака ядом продлевает длительность дебаффа. Этот дебафф наносит ежесекундный урон, и понижает скорости атак, движения. Характеристики:
"Данные - Урона в секунду" - ежесекудно наносит урона.
ВНИМАНИЕ: поля "Данные - Фактор скорости атаки" и "Данные - Фактор скорости перемещения" - перепутаны, в "фактор скорости атаки" указывают понижение в процентах скорости движения, а в "фактор скорости перемещения" указывают понижение в процентах скорости атаки (1.00 = 100%, 0.5 = 50%, 1.5 = 150%, 100% или 0% - не будет понижать). Понижение скорости идет по формуле:
скорость = текущая скорость - (текущая скорость * процент понижения).
раскрыть
скорость движения юнита меняется от текущей скорости, и может упереться в ограничение установленных констант (мин = 150, макс = 400, если будет ниже скажем 100, то автоматом игра подправляет на 150). Скорость атаки изначально равняется 1 (100%), может по такой же формуле снижаться. например, снижение на 0.3. 1-(1*0.3)=0.7 - скорость атаки. или можно просто вычесть 1-0.3=0.7
У отравленного оружия есть два типа дебаффа: "Яд (не буферизуется)", "Яд (буферизуется)". Что это значит? Буферизация связана с настройкой "Тип буфера" (Тип буфера: здесь можно указать несколько галочек, всего их 4: "Урон" - суммирует ли ежесекудный эффект отравление, "Скорость боя" - удваивается ли коэффициент-множитель от скорости атаки (будет в несколько раз больше снижена скорость боя врага), "Движение" - удваивается ли коэффициент-множитель от скорости движения (будет в несколько раз понижена скорость противника), "Убить юнита" - при отравлении, типа может убить ядом). Эффекты от буфера складываются не повторной атакой одного юнита, а двух юнитов (если второй юнит с такой же абилкой нанесет атаку, то будут складываться эффекты). При буферизации урон суммируется, и коэффициенты скоростей складываются. Ежесекундный урон от отравления относится к типу атаки "заклинание", не понижается защитой, можно отнести к магическому урону
ответ
Buratino111, шифт зажимаеш, тыкаешь на поле где скорость левой кнопкой мыши два раза (что бы открыть) и вводишь -30 , жмёшь ок

rsfghd, у меня и с галочкой и без галочки меняется , сначало хотел ему это посоветовать (редактор перезагружал даже щас что бы проверить когда изменял установку галочки) . Чел сверху написал лкм + шифт ) он так и делал походу

23

» WarCraft 3 / Illidan model

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Должен присутствовать файл одного из типов: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
There must be a file of one of the following types: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
// CID1
23

» WarCraft 3 / Исчезают способности

Похожие вопросы:

ответ
~8gabriel8:
ответ
Давай разберём моё решение (ответ номер 2), я его не раскрыл полностью потому что ждал наводящих вопросов, но ты его проигнорировал, потому что не понял ни слова?
Ответ номер 3, тебе рассказали тоже самое, но более расширенно и даже карту приложили
Ответ номер 8, про спеллбуки, снова тоже решение отлично, но ты его игнорируешь и спрашиваешь про постройку зданий альянса
Не понятно что такое спеллбук? (это дефолтный скил предмета "книга заклинаний"), мы же тебя не тролим, а отвечаем конкретными решениями, но если у тебя настолько глобальное непонимание, что ты даже не знаешь как задать следующий вопрос, мб тебе не стоит заниматься варкрафт моддингом?
И ТУТ не надо быть программистом, просто тыкаешь кнопочки и задаешь след вопросы:
  • А что такое этот ваш спеллбук спеллбук?
  • а как мне добавить 4?
  • а как сделать чтобы не было слияния заклинаний
  • а как сделать, чтобы по активации заклинания происходило изучение исследования?
  • а продажу юнита?
  • а каст способности?
  • а постройку?
Мы не бежим тебе делать готовую карту/наработку ибо:
  • на это нужно время, даже продвинутым (от получаса до 3х в зависимости от концентрации)
  • карту можно сделать а ты пропадёшь даже лайк не поставив или даже не прочитав
  • получи ты готовое, то ты вообще ничего не поймёшь тогда и станешь паразитом, человеком который отнимает время других людей и эти люди делают ему карту по чуть чуть, есть люди, которые занимаются таким паразитизмом около 10 лет, не буду говорить имена, меня сразу все поняли о ком я
ответ
Black Soul:
Сделал повышение защиты через моментально активируемый предмет. Эффекты от предмета, думаю, сможешь поменять.
Повышение защиты не действует на невосприимчивых к магии юнитов.
ответ
Возможно есть ещё один триггер с этим событием и с этим условием (способностью)?
ответ
Абилка так вшита в игру. при использовании ополчения, забирает/удаляет все пасивные спосбности юнита.
решение, использовать аналог на морфе. с самой способностью ничего не сделать. дело закрыто.

23

» WarCraft 3 / Вылет редактора при сохранении

Похожие вопросы:

ответ
Я ж ведь не просто так пишу, правда?
какое отношение этот пункт имеет к проблеме?
короче покопался в wtg файле
у тебя раньше использовался какой то странный файл гуишных функций
скорее всего он лежал либо в папке с вар3, либо в папке с джнгп и потом его удалили
одна из функций (возвращает булеан) вообще была представлена как набор пробелов
узнавать что это была за функция мне было лень поэтому я её заменил на false (использовалась в условии)
это было в триггере ctart, так что поправь там условие
так же заменил IssueImmediateOrderBJ на IssueImmediateOrder
вот открываемая в редакторе карта
проверь все гуишные триггеры на предмет ошибок
ответ
Оказывается причина была намного сложнее)))
Тот самый триггер-комментарий был обычным триггером (т.е хранил всю информацию о действиях и т.д), но отображался как комментарий
Поэтому помогло только его удаление
ответ
Попробуй мою версию, там ScExp должен работать. Но это для вц3 1.24 и ниже

По scexp можешь прочекать разницу в wehack.lua с твоим jngp

xgm.guru/p/wc3/jassnewgenpack-r вот тут последняя сборка jngp с модулем scexp
ответ
Проблема решена.Это было из-за модели. Углубляться в подробности не буду.

23

» WarCraft 3 / ищу хорошую РПГ карту

Похожие вопросы:

ответ
Сделать триггер для проверки кода, ну и организовать систему для его считывания и поверь это очень много всего, придется продумать.
Если коротко ты цифрами будешь (условно) сохранять своего героя, каждый набор цифр отвечает за какой то параметр героя, силу, ловкость, уровень, предметы и так далее, когда я говорю что это очень много всего придется продумать так и есть, тебе придется создать базу данных, для всех чисел и все проверять при введении команды, для защиты можно сверять суму чисел и проверять героя за которого играет игрок.
Мой тебе совет, не поленись и вбей в поиск "сделать команду save для карты варкрафт 3", на твое удивление там будет то что тебе нужно, уже на второй ссылке.

23

» WarCraft 3 / Оптимизация кода

Похожие вопросы:

ответ
SetUnitPosition довольно тяжелая операци, юзайте SetUnitX\Y в конце полета юзай SetUnitPosition для того чтобы юнит не залетел в непроходимое место.
Фильтр просто ужас, ну кто так фильтры делает?
Проверка на 'Aloc', я в ужасе на кой черт проверять на дамми если GropEnumUnitsInRange\Rect не выделяет москитов, тока EnumOfPlayer может пикнуть москитов, остальное не пикает их, на то они и москиты...
Вот как выглядит нормальный фильтр без локалок и прочего
function EnemyFilter takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitEnemy( bj_lastFilterUnit, bj_groupEnumOwningPlayer ) and not( IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MAGIC_IMMUNE ) or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MECHANICAL ) or IsUnitInvulnerable( bj_lastFilterUnit ) )
endfunction
UnitDamageTargetEx - красиво но нафиг ненужно обводить в отдельную функцию с тучей аргументов + жутко неудобно, 100500 аргументов у функции и фиг знает за что какой от вечает, прямо так UnitDamageTarget, без отдельной функции.
Туча констант, тоже хорошо тока длят наработок, на деле ставь конкретные значения или юзай Difine vjass'a.
ответ
globals
    constant integer Order_attack = 851983
endglobals

function CreateCreepByTypeIdAndSend takes p player, integer id, real x, real y, real dx, real dy returns nothing
   local unit u = CreateUnit(p, id, x, y, 0.)
   call IssuePointOrderById(u, Order_attack, dx, dy) // Можно упростить и сделать как у ScopteRectuS
   set u = null
endfunction

function Trig_CreepsCenter1_Actions takes nothing returns nothing
    call CreateCreepByTypeIdAndSend(Player(0), 'o000', 0., 5300., 0., -5300.)
    call CreateCreepByTypeIdAndSend(Player(0), 'o001', 0., 5300., 0., -5300.)

    call CreateCreepByTypeIdAndSend(Player(1), 'h000', -5300., 0., 5300., 0.)
    call CreateCreepByTypeIdAndSend(Player(1), 'h001', -5300., 0., 5300., 0.)
	
    call CreateCreepByTypeIdAndSend(Player(3), 'n000', 0., -5300., 0., 5300.)
    call CreateCreepByTypeIdAndSend(Player(3), 'n001', 0., -5300., 0., 5300.)
	
    call CreateCreepByTypeIdAndSend(Player(6), 'u000', 5300., 0., -5300., 0.)
    call CreateCreepByTypeIdAndSend(Player(6), 'u001', 5300., 0., -5300., 0.)
endfunction

function InitTrig_CreepsCenter1 takes nothing returns nothing
    set gg_trg_CreepsCenter1 = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_CreepsCenter1, 1.00 )
    call TriggerAddAction( gg_trg_CreepsCenter1, function Trig_CreepsCenter1_Actions )
endfunction

Нужно 40 одинаковых юнитов - циклы и массивы в помощь.
ответ
а, ещё одно, я слышал что GetUnitGoldCost может вызвать краш, мб на рефе пофиксили, но на 1.26 вроде нет

GetUnitGoldCost, GetUnitWoodCost и GetUnitBuildTime критуют, если передать равкод, содержащий буквы верхнего регистра.
ответ
VinerX, вджасс на рефе работает, но лучше тогда бы на луа тебе сделали)
если сомневаешься то сделаю на джассе тогда уж

вот, я без понятия работает ли, потому что лень создавать юнитов под эти условия, да и может накосячил случайно где-то и работает не так как задумано, поможет или нет не знаю, но попробуй что-ли(?)
код
function Trig_Income_Cond takes nothing returns boolean
    local integer i
    set udg_lastFilterUnit = GetFilterUnit( )
    
    set i = GetUnitFoodMade( udg_lastFilterUnit )
    if IsUnitInGroup( udg_lastFilterUnit, udg_GroupEnded ) or ( i == 150 or i == 75 ) then
        set udg_Inc = udg_Inc + i
    endif
    
    return false
endfunction

function Trig_Income_and_Disincome_Copy_Enum_Func takes nothing returns nothing
    local integer i
    set udg_TempPlayer = GetEnumPlayer( )
    
    set udg_Inc = 0
    call GroupEnumUnitsOfPlayer( udg_LocalOtrad, udg_TempPlayer, udg_IncomeCondition )
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00, "|cffffcc00Доход золота (каждые 15 секунд):|r |cff00ff00" + I2S( udg_Inc ) + "|r" )
    
    set i = GetPlayerTechCount( udg_TempPlayer, 'R004', true ) * 75
    set udg_Inc = udg_Inc + i
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00, "|cffffcc00Дополнительный доход (от улучшений):|r |cff00ff00" + I2S( i ) + "|r" )
    
    set i = GetPlayerUnitCount( udg_TempPlayer, false ) * 25
    set udg_Inc = udg_Inc - i
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Потребление на войска:|r |c00FF0303" + I2S( i ) + "|r" )
    
    if udg_Inc > 0 then
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cff00ff00" + I2S( udg_Inc ) + " (Профицит)|r" )
    elseif udg_Inc == 0 then
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cffffff000 (Нулевой бюджет)|r" )
    else
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cffff0000" + I2S( -udg_Inc ) + " (Дефицит)|r" )
    endif
    
    call SetPlayerState( udg_TempPlayer, PLAYER_STATE_GOLD_GATHERED, GetPlayerState( udg_TempPlayer, PLAYER_STATE_GOLD_GATHERED ) + udg_Inc )
    set udg_Inc = 0
endfunction

function Trig_Income_and_Disincome_Copy_O_Actions takes nothing returns nothing
    call ForForce( bj_FORCE_ALL_PLAYERS, function Trig_Income_and_Disincome_Copy_Enum_Func )
endfunction

//===========================================================================
function InitTrig_Income_and_Disincome_Copy_O takes nothing returns nothing
    set gg_trg_Income_and_Disincome_Copy_O = CreateTrigger(  )
    call DisableTrigger( gg_trg_Income_and_Disincome_Copy_O )
    call TriggerRegisterTimerExpireEvent( gg_trg_Income_and_Disincome_Copy_O, udg_Compteur1 )
    call TriggerAddAction( gg_trg_Income_and_Disincome_Copy_O, function Trig_Income_and_Disincome_Copy_O_Actions )
    
    set udg_IncomeCondition = Condition( function Trig_Income_Cond )
endfunction
ответ
создать DAMI юнита
dummy* - дамми

вот пример выбора юнитов в темповую группу без утечек с использованием точек

есть несколько функций для выбора юнитов
native GroupEnumUnitsInRange takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRangeOfLoc takes group whichGroup, location whichLocation, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRect takes group whichGroup, rect r, boolexpr filter returns nothing
native GroupEnumUnitsOfPlayer takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
native GroupEnumUnitsOfType takes group whichGroup, string unitname, boolexpr filter returns nothing
native GroupEnumUnitsSelected takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
у некоторых есть аналоги с потолком выбора (кол-ва юнитов)

DestroyGroup( ... ) нужно использовать только если ты постоянно создаёшь группу до этого (в основном это требуется, если ты должен сделать действия с теми же юнитами спустя какое-то время, например выбрать кого-то там в области, наложить эффект, подождать 2 секунды и продамажить), но для темповых действий лучше иметь одну группу и просто очищать её

23

» WarCraft 3 / Боевая единица получает урон

Похожие вопросы:

ответ
ответ
Ну а собственно какие проблемы?
Ты хочешь распределять урон между союзниками, или наносить урон врагам как связка варлока из доты?
Событие юнит получает урон, урон больше > 0 и не является отражённым уроном (проверяется с помощью глобальной переменной) , нанести столько-же ед. урона всем кто связан связкой. Можно не наносить урон а потихоньку отнимать здоровье, пока у юнита не будет хп < урона тогда уже наносим реальный урон.
ответ
не стоит использовать ждать
создаём для юнита целочисленную переменную time
1 триггер
 Событие 
 	периодическое событие - каждые 0.1 сек.-
 Условие 
	time > 0
Действие  
	set time = time - 1
	если time == 0 то понизить уровень способности "незаметность" для "герой" до 1
	
2 триггер
 Событие
	боевая единица - юнит атакован
 Условие
	Атакующий юнит=герой или Атакованный юнит=герой
 Действие
	set time=30
	боевая единица - повысить уровень способности "незаметность" для "герой" до 2
не забудь закрыть вопрос (для этого выбери лучший ответ)
ответ
каждую секунду проверять у юнита или группы его показатель здоровья и как только % хп (есть такая функция проверки %ХП) упадёт ниже 50% добавляем предметную способность +15 урона или ауру кодоя (боевой марш), скрытую в спеллбуке, чтобы пассивно дать 25% от белого урона, иначе - удалить бонусную способностью
это 1 из 10 вариантов как это сделать
ответ
Плохо искали.

23

» WarCraft 3 / Удаление способности

Похожие вопросы:

ответ
Ну хз, ручками удали скилл слк или тхт, хз как там у тебя, после деоптимизации карты (снятия защиты) часто бывают баги с обьектными данными, попробуйте другой деоптимизатор, или правьте ручками...
ответ
SetPlayerAbilityAvalible
ответ
проблем может быть куча, начиная от версии редактора до чего угодно
но я припоминаю тему, когда один мододел словил такой же глюк при удалении лишнего импорта
в общем, твоя карта - это как куча ящиков, которые стоят друг на друге
и когда ты удаляешь что-то - ты будто вытаскиваешь один из ящиков снизу
ну и офк вся эта куча может развалиться (крашнуться)
какой из всего этого выход? сделать копию карты, удалять по 1-2 способности или файла импорта, сохранять, через 5-7 таких циклов опять делать бекап. только руками
ответ
Возможно есть ещё один триггер с этим событием и с этим условием (способностью)?
ответ
Покопался еще и выяснил следующее: юнит, который пропадает, после удаления спобности Склад не мертв и не равен null => он жив и не удален из игры, хоть его и нельзя выделить на забинженную цифру отряда. Когда нажимаешь на цифру, камера переносится на башню, что логично, ведь он там, хоть его и не видно. Окей, я прописал в коде, чтобы после смерти башни моего тестового юнита показывало и мгновенно перемещало в позицию умирающей башни, а так же снимало с него паузу. Он становится видим и его даже можно выделить, однако выделение тут же сбрасывается. После того как я его показал, башня перестала "воскресать". Очень странно.

Случайно обнаружил следующее: просто-напросто не нужно удалять способность склад, когда юниты заходят в башню. Каким то образом Склад связана со способностью Взять на борт(По всей видимости механика у неё схожа с Боевой тревогой, раз обе способности берут юнитов внутрь юнита-обладателя способности). Теперь все работает корректно: Если юнит заходит в башню, то так как Склад на месте, юнит не пропадает, атака башне дается, если юнит выходит из башни, атака снова пропадает. Если башня разрушена - юнит появляется на её месте, никаких ошибок. Причем даже способность Пассажир не нужна, поскольку Склад тоже предоставляет места.

23

» WarCraft 3 / Автокаст

Похожие вопросы:

ответ
Простой ответ - никак. Невозможно добавить автокаст к способности у которой его изначально не было.
Сложный ответ - триггерно имитировать автокаст одним из нескольких способов.
ответ
Ну разве что на рефордже стало чуть проще, автокаст как детектили по урону который получает цель, так и детектят.
ответ
Механику каста ты никак не изменишь у дефолтных способностей, Берёшь автокаст пустышку к примеру ярость огра, или ледяной щит,и триггерно из них делаешь эти абилки.
ответ
Brodyaga:
нужно чем-то отловить, что автокаст включён.
В момент ВКЛючения авто-каста юнит получает приказ, вот его и можно отловить.
Событие - юнит получает приказ (без цели).
Условие - сравнение приказов - полученный приказ = ...
Обычно приказы на вкл/выкл имеют вид innerfireon / innerfireoff
Смотри в самой способности.

23

» WarCraft 3 / Использование кнопок

Похожие вопросы:

ответ
BrandY TM, моста нет, есть область, при входе в которую фиксируется абсолютная высота юнитов. В зависимости от высоты определяется проходимость для каждого конкретного юнита (эмулируется не очень просто, но тем не менее).

Ну и само собой разумеется, есть метод с платформами и переключателями.
ответ
Я так понимаю телепорт на цель, тогда всё просто GetSpellAbilityTarget().
ответ
Способности активируются через приказы ("порядок строк - включен") , если приказ у абилок одинаковый то они срабатывают одновременно. Приказ поменять нельзя, так что он всегда будет одинаковый если делать на основе одной абилки, кроме у абилки Канал (у него приказ меняется в поле "id приказа" вроде). Надо делать из разных абилок либо из Канала.

23

» WarCraft 3 / Баг редактора звука

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.

23

» WarCraft 3 / Ограничение анимаций у модели

Похожие вопросы:

ответ
Можно переименовать анимации 11-20 в Stand Victory Alternate, например.
ответ
Наверное скорее проблема в версии что плагина что макса ну поробуй другую версию макса с 2011-2014 и точно убедись что плагин именно под твою версию.
Наверное закрывай тему так как знатаков макса здесь не очень много.
ответ
понял что там какая то таблица, которая не дает генерировать похожие строки
Если в кратце то есть таблица строк, в которой все строки уникальны и если генерить 100500 разных строк, то она быстро засрётся. По логике вещей она должна очищаться со временем, но это варкрафт.
а нужно ли записывать все тексты в глобальный массив.
Это целиком вопрос удобства разработки. Тобишь делай как угодно.
Как это делает в гуи. Если записать текст в гуи, и создать. Потом эта строка заносится в массив
Гуи складывает всё в war3map.wts. При длительной разработке там может много хлама собраться.
но думаю можно попробовать искусственно вызвать тормоза
Можешь попробовать убрать весь текст и проверить, действительно ли в нём проблема.
NazarPunk, спасибо за отклик на глупые вопросы
Блин, забыл сказать, чё ты как нубяра на гуи пишешь, переходи на zinc/lua и будь нормальным мужиком!
ответ
Xgm сообщество хоть и маленькое, но оно раздроблено на большое количество категорий, и каждая категория не считает другую за людей, презирает их творчество. И это не мои домыслы, не я это придумал, но я отношусь к таким людям. Идея ваша прекрасна, но по причинам выше почти нереализуема (надеюсь кого-то триггернут мои слова и он чтобы доказать, как я ошибаюсь, всё таки присоединиться к вам). И чтобы найти быстрее единомышленников напишите всё таки в какой версии вакрафта вы собираетесь работать:
  1. Патч 1.26, Ujapi, 1.31, пиратка рефа, последний реф? Это самое важное по этому пункту происходит самое большое дробление и самая большая "война в нашей песочнице"
  2. "каждый может написать свою способность для монстра", вы уже мыслите достаточно однобоко , способности какие-то, ещё скажите что будет сохранён РТС интерфейс и 6 слотовый инвентарь. Это означает что, вы хотите видеть возле себя либо мохровых нубов либо закостелых стариков, для которых варкрафт это всё ещё в первую очередь ламповая стратегия из 2001, а не движок позволяющий сделать игру любого жанра.
  3. Время "кружков по интересам" закончилось давно, почти не реально найти за просто так, вам скорее всего придётся платить, чтобы вам реализовали какие-то механики даже на джассе или гуи. Потому что "а, кто захочет за бесплатно делать НЕ свой проект".
В общем ещё раз скажу, я очень хочу ошибаться, и искренне желаю, что вы нашли команду единомилишников единомышленников, сделали свой проект. Ну а я его с удовольствием оценю.